<?xml version="1.0" encoding="UTF-8"?>
<model modelUID="r:19389f68-3774-458d-83d3-54809ca8ac6b(graphviz.structure)">
  <persistence version="3" />
  <refactoringHistory>
    <refactoringContext modelVersion="0">
      <refactoring refactoringClass="jetbrains.mps.lang.structure.refactorings.RenameConcept" />
      <moveMap />
      <conceptFeatureMap>
        <entry>
          <key featureName="GVNodeExpression" conceptFQName="graphviz.structure.GVNodeExpression" featureKind="CONCEPT" />
          <value featureName="GVEdgedNodeExpression" conceptFQName="graphviz.structure.GVEdgedNodeExpression" featureKind="CONCEPT" />
        </entry>
      </conceptFeatureMap>
    </refactoringContext>
    <refactoringContext modelVersion="1">
      <refactoring refactoringClass="jetbrains.mps.lang.structure.scripts.RenameConcept" />
      <moveMap />
      <conceptFeatureMap>
        <entry>
          <key featureName="GVStyleShapeStatement" conceptFQName="graphviz.structure.GVStyleShapeStatement" featureKind="CONCEPT" />
          <value featureName="GVNodeShapeStatement" conceptFQName="graphviz.structure.GVNodeShapeStatement" featureKind="CONCEPT" />
        </entry>
      </conceptFeatureMap>
    </refactoringContext>
    <refactoringContext modelVersion="2">
      <refactoring refactoringClass="jetbrains.mps.lang.structure.refactorings.RenameConcept" />
      <moveMap />
      <conceptFeatureMap>
        <entry>
          <key featureName="GVStylable" conceptFQName="graphviz.structure.GVStylable" featureKind="CONCEPT" />
          <value featureName="GVStylableByStatement" conceptFQName="graphviz.structure.GVStylableByStatement" featureKind="CONCEPT" />
        </entry>
      </conceptFeatureMap>
    </refactoringContext>
    <refactoringContext modelVersion="3">
      <refactoring refactoringClass="jetbrains.mps.lang.structure.refactorings.RenameConcept" />
      <moveMap />
      <conceptFeatureMap>
        <entry>
          <key featureName="GVEdgedNodeExpression" conceptFQName="graphviz.structure.GVEdgedNodeExpression" featureKind="CONCEPT" />
          <value featureName="GVNodeInEdge" conceptFQName="graphviz.structure.GVNodeInEdge" featureKind="CONCEPT" />
        </entry>
      </conceptFeatureMap>
    </refactoringContext>
    <refactoringContext modelVersion="4">
      <refactoring refactoringClass="jetbrains.mps.lang.structure.scripts.RenameConcept" />
      <moveMap />
      <conceptFeatureMap>
        <entry>
          <key featureName="GVNodeInEdge" conceptFQName="graphviz.structure.GVNodeInEdge" featureKind="CONCEPT" />
          <value featureName="GVEdgeExpressionPart" conceptFQName="graphviz.structure.GVEdgeExpressionPart" featureKind="CONCEPT" />
        </entry>
      </conceptFeatureMap>
    </refactoringContext>
    <refactoringContext modelVersion="5">
      <refactoring refactoringClass="jetbrains.mps.lang.structure.scripts.RenameConcept" />
      <moveMap />
      <conceptFeatureMap>
        <entry>
          <key featureName="GVNode" conceptFQName="graphviz.structure.GVNode" featureKind="CONCEPT" />
          <value featureName="GVBaseNode" conceptFQName="graphviz.structure.GVBaseNode" featureKind="CONCEPT" />
        </entry>
      </conceptFeatureMap>
    </refactoringContext>
  </refactoringHistory>
  <language namespace="c72da2b9-7cce-4447-8389-f407dc1158b7(jetbrains.mps.lang.structure)" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c8959028c(jetbrains.mps.lang.structure.constraints)" version="11" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c89590292(jetbrains.mps.lang.structure.structure)" version="0" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c89590283(jetbrains.mps.lang.core.constraints)" version="2" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c89590288(jetbrains.mps.lang.core.structure)" version="0" />
  <languageAspect modelUID="r:19389f68-3774-458d-83d3-54809ca8ac6b(graphviz.structure)" version="5" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c89590338(jetbrains.mps.baseLanguage.closures.structure)" version="3" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c89590345(jetbrains.mps.lang.pattern.structure)" version="0" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c895902ae(jetbrains.mps.lang.typesystem.constraints)" version="17" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c895902db(jetbrains.mps.baseLanguage.blTypes.constraints)" version="0" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c89590301(jetbrains.mps.lang.smodel.structure)" version="16" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c89590328(jetbrains.mps.baseLanguage.collections.constraints)" version="6" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c89590340(jetbrains.mps.lang.pattern.constraints)" version="2" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c89590334(jetbrains.mps.baseLanguage.closures.constraints)" version="2" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c895902b4(jetbrains.mps.lang.typesystem.structure)" version="3" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c895902c1(jetbrains.mps.baseLanguage.constraints)" version="83" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c895902ca(jetbrains.mps.baseLanguage.structure)" version="3" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c8959033d(jetbrains.mps.lang.annotations.structure)" version="0" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c8959034b(jetbrains.mps.lang.quotation.structure)" version="0" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c8959032e(jetbrains.mps.baseLanguage.collections.structure)" version="7" />
  <languageAspect modelUID="r:00000000-0000-4000-0000-011c895902fb(jetbrains.mps.lang.smodel.constraints)" version="21" />
  <maxImportIndex value="1" />
  <visible index="2" modelUID="r:00000000-0000-4000-0000-011c89590288(jetbrains.mps.lang.core.structure)" />
  <node type="jetbrains.mps.lang.structure.structure.ConceptDeclaration" id="4683729127880614440">
    <property name="name" value="GVDocument" />
    <property name="rootable" value="true" />
    <link role="extends" targetNodeId="2v.1133920641626" resolveInfo="BaseConcept" />
    <node role="linkDeclaration" type="jetbrains.mps.lang.structure.structure.LinkDeclaration" id="4683729127882493370">
      <property name="metaClass" value="aggregation" />
      <property name="role" value="styles" />
      <property name="sourceCardinality" value="0..n" />
      <link role="target" targetNodeId="4768206649136452296" resolveInfo="GVStyle" />
    </node>
    <node role="linkDeclaration" type="jetbrains.mps.lang.structure.structure.LinkDeclaration" id="4683729127880614492">
      <property name="metaClass" value="aggregation" />
      <property name="role" value="graph" />
      <property name="sourceCardinality" value="1" />
      <link role="target" targetNodeId="4683729127880614470" resolveInfo="GVGraph" />
    </node>
    <node role="implements" type="jetbrains.mps.lang.structure.structure.InterfaceConceptReference" id="4683729127880614598">
      <link role="intfc" targetNodeId="2v.1169194658468" resolveInfo="INamedConcept" />
    </node>
  </node>
  <node type="jetbrains.mps.lang.structure.structure.ConceptDeclaration" id="4683729127880614470">
    <property name="name" value="GVGraph" />
    <link role="extends" targetNodeId="2v.1133920641626" resolveInfo="BaseConcept" />
    <node role="propertyDeclaration" type="jetbrains.mps.lang.structure.structure.PropertyDeclaration" id="8577380457334266973">
      <property name="name" value="directed" />
      <link role="dataType" targetNodeId="2v.1082983657063" resolveInfo="boolean" />
    </node>
    <node role="implements" type="jetbrains.mps.lang.structure.structure.InterfaceConceptReference" id="4683729127880614630">
      <link role="intfc" targetNodeId="2v.1169194658468" resolveInfo="INamedConcept" />
    </node>
    <node role="implements" type="jetbrains.mps.lang.structure.structure.InterfaceConceptReference" id="2602392581779126634">
      <link role="intfc" targetNodeId="2602392581779126627" resolveInfo="GVStylable" />
    </node>
    <node role="implements" type="jetbrains.mps.lang.structure.structure.InterfaceConceptReference" id="2602392581779831276">
      <link role="intfc" targetNodeId="2602392581779732048" resolveInfo="GVStylableByStyleReference" />
    </node>
    <node role="implements" type="jetbrains.mps.lang.structure.structure.InterfaceConceptReference" id="2224471876217323262">
      <link role="intfc" targetNodeId="8577380457328886011" resolveInfo="GVGraphStatementBlock" />
    </node>
    <node role="conceptProperty" type="jetbrains.mps.lang.structure.structure.BooleanConceptProperty" id="2602392581779951771">
      <link role="conceptPropertyDeclaration" targetNodeId="8577380457331675601" resolveInfo="nodesStylable" />
    </node>
    <node role="conceptProperty" type="jetbrains.mps.lang.structure.structure.BooleanConceptProperty" id="2602392581779951773">
      <link role="conceptPropertyDeclaration" targetNodeId="8577380457331675602" resolveInfo="edgesStylable" />
    </node>
    <node role="conceptProperty" type="jetbrains.mps.lang.structure.structure.BooleanConceptProperty" id="2602392581779951775">
      <link role="conceptPropertyDeclaration" targetNodeId="8577380457331675603" resolveInfo="rootGraphStylable" />
    </node>
  </node>
  <node type="jetbrains.mps.lang.structure.structure.InterfaceConceptDeclaration" id="4683729127882709400">
    <property name="package" value="graph" />
    <property name="name" value="GVGraphStatement" />
  </node>
  <node type="jetbrains.mps.lang.structure.structure.InterfaceConceptDeclaration" id="4683729127882709401">
    <property name="name" value="GVStyleStatement" />
    <property name="package" value="style" />
    <node role="conceptPropertyDeclaration" type="jetbrains.mps.lang.structure.structure.BooleanConceptPropertyDeclaration" id="4768206649134501343">
      <property name="name" value="usedForEdges" />
    </node>
    <node role="conceptPropertyDeclaration" type="jetbrains.mps.lang.structure.structure.BooleanConceptPropertyDeclaration" id="4768206649134501345">
      <property name="name" value="usedForNodes" />
    </node>
    <node role="conceptPropertyDeclaration" type="jetbrains.mps.lang.structure.structure.BooleanConceptPropertyDeclaration" id="4768206649134501348">
      <property name="name" value="usedForRootGraph" />
    </node>
    <node role="conceptPropertyDeclaration" type="jetbrains.mps.lang.structure.structure.BooleanConceptPropertyDeclaration" id="4768206649134501350">
      <property name="name" value="usedForSubgraph" />
    </node>
    <node role="conceptPropertyDeclaration" type="jetbrains.mps.lang.structure.structure.BooleanConceptPropertyDeclaration" id="4768206649134501352">
      <property name="name" value="usedForClusterSubgraph" />
    </node>
  </node>
  <node type="jetbrains.mps.lang.structure.structure.ConceptDeclaration" id="4683729127882822187">
    <property name="package" value="graph.node" />
    <property name="name" value="GVNodeDeclaration" />
    <link role="extends" targetNodeId="2602392581780785598" resolveInfo="GVNode" />
    <node role="linkDeclaration" type="jetbrains.mps.lang.structure.structure.LinkDeclaration" id="2602392581782433178">
      <property name="metaClass" value="aggregation" />
      <property name="role" value="ports" />
      <property name="sourceCardinality" value="0..n" />
      <link role="target" targetNodeId="2602392581782193610" resolveInfo="GVPort" />
    </node>
    <node role="implements" type="jetbrains.mps.lang.structure.structure.InterfaceConceptReference" id="2602392581780204545">
      <link role="intfc" targetNodeId="2v.1169194658468" resolveInfo="INamedConcept" />
    </node>
    <node role="implements" type="jetbrains.mps.lang.structure.structure.InterfaceConceptReference" id="4683729127882822188">
      <link role="intfc" targetNodeId="4683729127882709400" resolveInfo="GVGraphStatement" />
    </node>
    <node role="implements" type="jetbrains.mps.lang.structure.structure.InterfaceConceptReference" id="2602392581780204547">
      <link role="intfc" targetNodeId="2602392581779732048" resolveInfo="GVStylableByStyleReference" />
    </node>
    <node role="implements" type="jetbrains.mps.lang.structure.structure.InterfaceConceptReference" id="2602392581780204549">
      <link role="intfc" targetNodeId="2602392581779126627" resolveInfo="GVStylableByStatement" />
    </node>
    <node role="conceptProperty" type="jetbrains.mps.lang.structure.structure.StringConceptProperty" id="4768206649133752391">
      <property name="value" value="new node" />
      <link role="conceptPropertyDeclaration" targetNodeId="2v.1137473891462" resolveInfo="alias" />
    </node>
    <node role="conceptProperty" type="jetbrains.mps.lang.structure.structure.BooleanConceptProperty" id="2602392581780211000">
      <link role="conceptPropertyDeclaration" targetNodeId="8577380457331675601" resolveInfo="nodesStylable" />
    </node>
  </node>
  <node type="jetbrains.mps.lang.structure.structure.ConceptDeclaration" id="4683729127882960942">
    <property name="package" value="graph.node" />
    <property name="name" value="GVNodeReference" />
    <link role="extends" targetNodeId="2602392581780785598" resolveInfo="GVNode" />
    <node role="linkDeclaration" type="jetbrains.mps.lang.structure.structure.LinkDeclaration" id="8577380457326839333">
      <property name="metaClass" value="aggregation" />
      <property name="role" value="port" />
      <link role="target" targetNodeId="8577380457326839331" resolveInfo="GVPortReference" />
    </node>
    <node role="linkDeclaration" type="jetbrains.mps.lang.structure.structure.LinkDeclaration" id="4683729127882960943">
      <property name="metaClass" value="reference" />
      <property name="role" value="declaration" />
      <property name="sourceCardinality" value="1" />
      <link role="target" targetNodeId="4683729127882822187" resolveInfo="GVNodeDeclaration" />
    </node>
  </node>
  <node type="jetbrains.mps.lang.structure.structure.ConceptDeclaration" id="4768206649132996859">
    <property name="package" value="graph.expression" />
    <property name="name" value="GVEdgeExpression" />
    <link role="extends" targetNodeId="2v.1133920641626" resolveInfo="BaseConcept" />
    <node role="linkDeclaration" type="jetbrains.mps.lang.structure.structure.LinkDeclaration" id="4768206649133437465">
      <property name="metaClass" value="aggregation" />
      <property name="role" value="left" />
      <property name="sourceCardinality" value="1" />
      <link role="target" targetNodeId="4768206649133437464" resolveInfo="GVEdgedNodeExpression" />
    </node>
    <node role="linkDeclaration" type="jetbrains.mps.lang.structure.structure.LinkDeclaration" id="4768206649133437468">
      <property name="metaClass" value="aggregation" />
      <property name="role" value="right" />
      <property name="sourceCardinality" value="1" />
      <link role="target" targetNodeId="4768206649133437464" resolveInfo="GVEdgedNodeExpression" />
    </node>
    <node role="implements" type="jetbrains.mps.lang.structure.structure.InterfaceConceptReference" id="4768206649133437463">
      <link role="intfc" targetNodeId="4683729127882709400" resolveInfo="GVGraphStatement" />
    </node>
    <node role="implements" type="jetbrains.mps.lang.structure.structure.InterfaceConceptReference" id="4768206649133647811">
      <link role="intfc" targetNodeId="4768206649133437464" resolveInfo="GVEdgedNodeExpression" />
    </node>
    <node role="implements" type="jetbrains.mps.lang.structure.structure.InterfaceConceptReference" id="2602392581780211002">
      <link role="intfc" targetNodeId="2602392581779126627" resolveInfo="GVStylableByStatement" />
    </node>
    <node role="implements" type="jetbrains.mps.lang.structure.structure.InterfaceConceptReference" id="2602392581780211004">
      <link role="intfc" targetNodeId="2602392581779732048" resolveInfo="GVStylableByStyleReference" />
    </node>
    <node role="conceptProperty" type="jetbrains.mps.lang.structure.structure.StringConceptProperty" id="4768206649133752393">
      <property name="value" value="new edge" />
      <link role="conceptPropertyDeclaration" targetNodeId="2v.1137473891462" resolveInfo="alias" />
    </node>
    <node role="conceptProperty" type="jetbrains.mps.lang.structure.structure.BooleanConceptProperty" id="2602392581780303823">
      <link role="conceptPropertyDeclaration" targetNodeId="8577380457331675602" resolveInfo="edgesStylable" />
    </node>
  </node>
  <node type="jetbrains.mps.lang.structure.structure.InterfaceConceptDeclaration" id="4768206649133437464">
    <property name="package" value="graph.expression" />
    <property name="name" value="GVEdgeExpressionPart" />
  </node>
  <node type="jetbrains.mps.lang.structure.structure.ConceptDeclaration" id="4768206649134501353">
    <property name="package" value="style.shape" />
    <property name="name" value="GVNodeShapeStatement" />
    <link role="extends" targetNodeId="2v.1133920641626" resolveInfo="BaseConcept" />
    <node role="implements" type="jetbrains.mps.lang.structure.structure.InterfaceConceptReference" id="4768206649134501354">
      <link role="intfc" targetNodeId="4683729127882709401" resolveInfo="GVStyleStatement" />
    </node>
    <node role="conceptProperty" type="jetbrains.mps.lang.structure.structure.StringConceptProperty" id="4768206649134501355">
      <property name="value" value="shape" />
      <link role="conceptPropertyDeclaration" targetNodeId="2v.1137473891462" resolveInfo="alias" />
    </node>
    <node role="conceptProperty" type="jetbrains.mps.lang.structure.structure.BooleanConceptProperty" id="4768206649134501357">
      <link role="conceptPropertyDeclaration" targetNodeId="4768206649134501345" resolveInfo="usedForNodes" />
    </node>
    <node role="propertyDeclaration" type="jetbrains.mps.lang.structure.structure.PropertyDeclaration" id="4768206649134501403">
      <property name="name" value="value" />
      <link role="dataType" targetNodeId="4768206649134501368" resolveInfo="shape" />
    </node>
  </node>
  <node type="jetbrains.mps.lang.structure.structure.EnumerationDataTypeDeclaration" id="4768206649134501368">
    <property name="package" value="style.shape" />
    <property name="name" value="node_shape" />
    <link role="memberDataType" targetNodeId="2v.1082983041843" resolveInfo="string" />
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="4768206649134501369">
      <property name="internalValue" value="box" />
      <property name="externalValue" value="box" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="4768206649134501370">
      <property name="externalValue" value="polygon" />
      <property name="internalValue" value="polygon" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="4768206649134501371">
      <property name="internalValue" value="ellipse" />
      <property name="externalValue" value="ellipse" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="4768206649134501372">
      <property name="internalValue" value="circle" />
      <property name="externalValue" value="circle" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="4768206649134501373">
      <property name="internalValue" value="point" />
      <property name="externalValue" value="point" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="4768206649134501374">
      <property name="internalValue" value="egg" />
      <property name="externalValue" value="egg" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="4768206649134501375">
      <property name="internalValue" value="triangle" />
      <property name="externalValue" value="triangle" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="4768206649134501376">
      <property name="internalValue" value="plaintext" />
      <property name="externalValue" value="plaintext" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="4768206649134501377">
      <property name="internalValue" value="diamond" />
      <property name="externalValue" value="diamond" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="4768206649134501378">
      <property name="internalValue" value="trapezium" />
      <property name="externalValue" value="trapezium" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="4768206649134501379">
      <property name="externalValue" value="parallelogram" />
      <property name="internalValue" value="parallelogram" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="4768206649134501380">
      <property name="internalValue" value="house" />
      <property name="externalValue" value="house" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="4768206649134501381">
      <property name="internalValue" value="pentagon" />
      <property name="externalValue" value="pentagon" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="4768206649134501382">
      <property name="externalValue" value="hexagon" />
      <property name="internalValue" value="hexagon" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="4768206649134501383">
      <property name="externalValue" value="septagon" />
      <property name="internalValue" value="septagon" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="4768206649134501384">
      <property name="internalValue" value="octagon" />
      <property name="externalValue" value="octagon" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="4768206649134501385">
      <property name="internalValue" value="doublecircle" />
      <property name="externalValue" value="doublecircle" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="4768206649134501386">
      <property name="internalValue" value="doubleoctagon" />
      <property name="externalValue" value="doubleoctagon" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="4768206649134501387">
      <property name="internalValue" value="tripleoctagon" />
      <property name="externalValue" value="tripleoctagon" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="4768206649134501388">
      <property name="internalValue" value="invtriangle" />
      <property name="externalValue" value="invtriangle" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="4768206649134501389">
      <property name="internalValue" value="invtrapezium" />
      <property name="externalValue" value="invtrapezium" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="4768206649134501390">
      <property name="internalValue" value="invhouse" />
      <property name="externalValue" value="invhouse" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="4768206649134501391">
      <property name="internalValue" value="Mdiamond" />
      <property name="externalValue" value="Mdiamond" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="4768206649134501392">
      <property name="externalValue" value="Msquare" />
      <property name="internalValue" value="Msquare" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="4768206649134501393">
      <property name="externalValue" value="Mcircle" />
      <property name="internalValue" value="Mcircle" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="4768206649134501394">
      <property name="externalValue" value="rect" />
      <property name="internalValue" value="rect" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="4768206649134501395">
      <property name="externalValue" value="rectangle" />
      <property name="internalValue" value="rectangle" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="4768206649134501396">
      <property name="internalValue" value="square" />
      <property name="externalValue" value="square" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="4768206649134501397">
      <property name="externalValue" value="none" />
      <property name="internalValue" value="none" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="4768206649134501398">
      <property name="externalValue" value="note" />
      <property name="internalValue" value="note" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="4768206649134501399">
      <property name="internalValue" value="tab" />
      <property name="externalValue" value="tab" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="4768206649134501400">
      <property name="internalValue" value="folder" />
      <property name="externalValue" value="folder" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="4768206649134501401">
      <property name="internalValue" value="box3d" />
      <property name="externalValue" value="box3d" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="4768206649134501402">
      <property name="internalValue" value="component" />
      <property name="externalValue" value="component" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="8577380457328081005">
      <property name="externalValue" value="record" />
      <property name="internalValue" value="record" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="8577380457328081006">
      <property name="externalValue" value="Mrecord" />
      <property name="internalValue" value="Mrecord" />
    </node>
  </node>
  <node type="jetbrains.mps.lang.structure.structure.ConceptDeclaration" id="4768206649136452296">
    <property name="name" value="GVStyle" />
    <link role="extends" targetNodeId="2v.1133920641626" resolveInfo="BaseConcept" />
    <node role="linkDeclaration" type="jetbrains.mps.lang.structure.structure.LinkDeclaration" id="8577380457332076833">
      <property name="metaClass" value="aggregation" />
      <property name="role" value="styleStatements" />
      <property name="sourceCardinality" value="1..n" />
      <link role="target" targetNodeId="4683729127882709401" resolveInfo="GVStyleStatement" />
    </node>
    <node role="implements" type="jetbrains.mps.lang.structure.structure.InterfaceConceptReference" id="4768206649136452308">
      <link role="intfc" targetNodeId="2v.1169194658468" resolveInfo="INamedConcept" />
    </node>
  </node>
  <node type="jetbrains.mps.lang.structure.structure.InterfaceConceptDeclaration" id="2602392581779126627">
    <property name="name" value="GVStylableByStatement" />
    <property name="package" value="style" />
    <node role="linkDeclaration" type="jetbrains.mps.lang.structure.structure.LinkDeclaration" id="2602392581779126628">
      <property name="metaClass" value="aggregation" />
      <property name="role" value="styleStatementsForNodes" />
      <property name="sourceCardinality" value="0..n" />
      <link role="target" targetNodeId="4683729127882709401" resolveInfo="GVStyleStatement" />
    </node>
    <node role="linkDeclaration" type="jetbrains.mps.lang.structure.structure.LinkDeclaration" id="8577380457331675606">
      <property name="metaClass" value="aggregation" />
      <property name="role" value="styleStatementsForEdges" />
      <property name="sourceCardinality" value="0..n" />
      <link role="target" targetNodeId="4683729127882709401" resolveInfo="GVStyleStatement" />
    </node>
    <node role="linkDeclaration" type="jetbrains.mps.lang.structure.structure.LinkDeclaration" id="8577380457331675607">
      <property name="metaClass" value="aggregation" />
      <property name="role" value="styleStatementsForRootGraph" />
      <property name="sourceCardinality" value="0..n" />
      <link role="target" targetNodeId="4683729127882709401" resolveInfo="GVStyleStatement" />
    </node>
    <node role="linkDeclaration" type="jetbrains.mps.lang.structure.structure.LinkDeclaration" id="8577380457331675608">
      <property name="metaClass" value="aggregation" />
      <property name="role" value="styleStatementsForSubgraphs" />
      <property name="sourceCardinality" value="0..n" />
      <link role="target" targetNodeId="4683729127882709401" resolveInfo="GVStyleStatement" />
    </node>
    <node role="linkDeclaration" type="jetbrains.mps.lang.structure.structure.LinkDeclaration" id="8577380457331675609">
      <property name="metaClass" value="aggregation" />
      <property name="role" value="styleStatementsForClusterSubgraphs" />
      <property name="sourceCardinality" value="0..n" />
      <link role="target" targetNodeId="4683729127882709401" resolveInfo="GVStyleStatement" />
    </node>
    <node role="extends" type="jetbrains.mps.lang.structure.structure.InterfaceConceptReference" id="8577380457330095557">
      <link role="intfc" targetNodeId="8577380457330095555" resolveInfo="GVStylable" />
    </node>
  </node>
  <node type="jetbrains.mps.lang.structure.structure.InterfaceConceptDeclaration" id="2602392581779732048">
    <property name="package" value="style" />
    <property name="name" value="GVStylableByStyleReference" />
    <node role="linkDeclaration" type="jetbrains.mps.lang.structure.structure.LinkDeclaration" id="2602392581779831270">
      <property name="metaClass" value="reference" />
      <property name="role" value="styleForNodes" />
      <link role="target" targetNodeId="4768206649136452296" resolveInfo="GVStyle" />
    </node>
    <node role="linkDeclaration" type="jetbrains.mps.lang.structure.structure.LinkDeclaration" id="2602392581779831271">
      <property name="metaClass" value="reference" />
      <property name="role" value="styleForEdges" />
      <link role="target" targetNodeId="4768206649136452296" resolveInfo="GVStyle" />
    </node>
    <node role="linkDeclaration" type="jetbrains.mps.lang.structure.structure.LinkDeclaration" id="2602392581779831272">
      <property name="metaClass" value="reference" />
      <property name="role" value="styleForRootGraph" />
      <link role="target" targetNodeId="4768206649136452296" resolveInfo="GVStyle" />
    </node>
    <node role="linkDeclaration" type="jetbrains.mps.lang.structure.structure.LinkDeclaration" id="2602392581779831273">
      <property name="metaClass" value="reference" />
      <property name="role" value="styleForSubgraphs" />
      <link role="target" targetNodeId="4768206649136452296" resolveInfo="GVStyle" />
    </node>
    <node role="linkDeclaration" type="jetbrains.mps.lang.structure.structure.LinkDeclaration" id="2602392581779831274">
      <property name="metaClass" value="reference" />
      <property name="role" value="styleForClusterSubgraph" />
      <link role="target" targetNodeId="4768206649136452296" resolveInfo="GVStyle" />
    </node>
    <node role="extends" type="jetbrains.mps.lang.structure.structure.InterfaceConceptReference" id="8577380457330095558">
      <link role="intfc" targetNodeId="8577380457330095555" resolveInfo="GVStylable" />
    </node>
  </node>
  <node type="jetbrains.mps.lang.structure.structure.ConceptDeclaration" id="2602392581780422891">
    <property name="package" value="graph" />
    <property name="name" value="GVSubgraphBlock" />
    <link role="extends" targetNodeId="2v.1133920641626" resolveInfo="BaseConcept" />
    <node role="propertyDeclaration" type="jetbrains.mps.lang.structure.structure.PropertyDeclaration" id="2602392581780422893">
      <property name="name" value="clustered" />
      <link role="dataType" targetNodeId="2v.1082983657063" resolveInfo="boolean" />
    </node>
    <node role="implements" type="jetbrains.mps.lang.structure.structure.InterfaceConceptReference" id="2602392581780422892">
      <link role="intfc" targetNodeId="2v.1169194658468" resolveInfo="INamedConcept" />
    </node>
    <node role="implements" type="jetbrains.mps.lang.structure.structure.InterfaceConceptReference" id="8577380457328886016">
      <link role="intfc" targetNodeId="8577380457328886011" resolveInfo="GVGraphStatementBlock" />
    </node>
    <node role="implements" type="jetbrains.mps.lang.structure.structure.InterfaceConceptReference" id="2602392581780422918">
      <link role="intfc" targetNodeId="2602392581779126627" resolveInfo="GVStylableByStatement" />
    </node>
    <node role="implements" type="jetbrains.mps.lang.structure.structure.InterfaceConceptReference" id="2602392581780422920">
      <link role="intfc" targetNodeId="2602392581779732048" resolveInfo="GVStylableByStyleReference" />
    </node>
    <node role="conceptProperty" type="jetbrains.mps.lang.structure.structure.StringConceptProperty" id="2602392581780422923">
      <property name="value" value="subgraph" />
      <link role="conceptPropertyDeclaration" targetNodeId="2v.1137473891462" resolveInfo="alias" />
    </node>
    <node role="conceptProperty" type="jetbrains.mps.lang.structure.structure.BooleanConceptProperty" id="2602392581780422967">
      <link role="conceptPropertyDeclaration" targetNodeId="8577380457331675604" resolveInfo="subgraphStylable" />
    </node>
    <node role="conceptProperty" type="jetbrains.mps.lang.structure.structure.BooleanConceptProperty" id="2602392581780422969">
      <link role="conceptPropertyDeclaration" targetNodeId="8577380457331675605" resolveInfo="clusterSubgraphStylable" />
    </node>
  </node>
  <node type="jetbrains.mps.lang.structure.structure.ConceptDeclaration" id="2602392581780785598">
    <property name="package" value="graph.node" />
    <property name="name" value="GVBaseNode" />
    <link role="extends" targetNodeId="2v.1133920641626" resolveInfo="BaseConcept" />
    <node role="conceptProperty" type="jetbrains.mps.lang.structure.structure.BooleanConceptProperty" id="2602392581780785599">
      <link role="conceptPropertyDeclaration" targetNodeId="2v.1137473854053" resolveInfo="abstract" />
    </node>
    <node role="implements" type="jetbrains.mps.lang.structure.structure.InterfaceConceptReference" id="2602392581780785600">
      <link role="intfc" targetNodeId="4768206649133437464" resolveInfo="GVEdgedNodeExpression" />
    </node>
    <node role="propertyDeclaration" type="jetbrains.mps.lang.structure.structure.PropertyDeclaration" id="2602392581781342264">
      <property name="name" value="compass_port" />
      <link role="dataType" targetNodeId="2602392581780891729" resolveInfo="compass_port" />
    </node>
  </node>
  <node type="jetbrains.mps.lang.structure.structure.EnumerationDataTypeDeclaration" id="2602392581780891729">
    <property name="package" value="graph.port" />
    <property name="name" value="compass_port" />
    <link role="memberDataType" targetNodeId="2v.1082983041843" resolveInfo="string" />
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="2602392581781492801">
      <property name="internalValue" value="--none--" />
      <property name="externalValue" value="--none--" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="2602392581780891730">
      <property name="internalValue" value="n" />
      <property name="externalValue" value="north" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="2602392581780891731">
      <property name="internalValue" value="ne" />
      <property name="externalValue" value="north east" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="2602392581780891732">
      <property name="externalValue" value="east" />
      <property name="internalValue" value="e" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="2602392581780891733">
      <property name="internalValue" value="se" />
      <property name="externalValue" value="south east" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="2602392581780891734">
      <property name="externalValue" value="south" />
      <property name="internalValue" value="s" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="2602392581780891735">
      <property name="internalValue" value="sw" />
      <property name="externalValue" value="south west" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="2602392581780891736">
      <property name="internalValue" value="w" />
      <property name="externalValue" value="west" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="2602392581780891737">
      <property name="internalValue" value="nw" />
      <property name="externalValue" value="north west" />
    </node>
  </node>
  <node type="jetbrains.mps.lang.structure.structure.ConceptDeclaration" id="2602392581782193610">
    <property name="package" value="graph.port" />
    <property name="name" value="GVPort" />
    <link role="extends" targetNodeId="2v.1133920641626" resolveInfo="BaseConcept" />
    <node role="implements" type="jetbrains.mps.lang.structure.structure.InterfaceConceptReference" id="2602392581782193611">
      <link role="intfc" targetNodeId="2v.1169194658468" resolveInfo="INamedConcept" />
    </node>
  </node>
  <node type="jetbrains.mps.lang.structure.structure.ConceptDeclaration" id="2602392581782457097">
    <property name="package" value="style" />
    <property name="name" value="GVLabelStatement" />
    <link role="extends" targetNodeId="2v.1133920641626" resolveInfo="BaseConcept" />
    <node role="implements" type="jetbrains.mps.lang.structure.structure.InterfaceConceptReference" id="2602392581782457098">
      <link role="intfc" targetNodeId="4683729127882709401" resolveInfo="GVStyleStatement" />
    </node>
    <node role="conceptProperty" type="jetbrains.mps.lang.structure.structure.StringConceptProperty" id="2602392581782457100">
      <property name="value" value="label" />
      <link role="conceptPropertyDeclaration" targetNodeId="2v.1137473891462" resolveInfo="alias" />
    </node>
    <node role="conceptProperty" type="jetbrains.mps.lang.structure.structure.BooleanConceptProperty" id="2602392581782457102">
      <link role="conceptPropertyDeclaration" targetNodeId="4768206649134501352" resolveInfo="usedForClusterSubgraph" />
    </node>
    <node role="conceptProperty" type="jetbrains.mps.lang.structure.structure.BooleanConceptProperty" id="2602392581782457104">
      <link role="conceptPropertyDeclaration" targetNodeId="4768206649134501343" resolveInfo="usedForEdges" />
    </node>
    <node role="conceptProperty" type="jetbrains.mps.lang.structure.structure.BooleanConceptProperty" id="2602392581782457106">
      <link role="conceptPropertyDeclaration" targetNodeId="4768206649134501345" resolveInfo="usedForNodes" />
    </node>
    <node role="conceptProperty" type="jetbrains.mps.lang.structure.structure.BooleanConceptProperty" id="2602392581782457108">
      <link role="conceptPropertyDeclaration" targetNodeId="4768206649134501348" resolveInfo="usedForRootGraph" />
    </node>
    <node role="propertyDeclaration" type="jetbrains.mps.lang.structure.structure.PropertyDeclaration" id="2602392581782457109">
      <property name="name" value="value" />
      <link role="dataType" targetNodeId="2v.1082983041843" resolveInfo="string" />
    </node>
    <node role="propertyDeclaration" type="jetbrains.mps.lang.structure.structure.PropertyDeclaration" id="8577380457327179083">
      <property name="name" value="htmlLike" />
      <link role="dataType" targetNodeId="2v.1082983657063" resolveInfo="boolean" />
    </node>
  </node>
  <node type="jetbrains.mps.lang.structure.structure.ConceptDeclaration" id="8577380457326839331">
    <property name="package" value="graph.port" />
    <property name="name" value="GVPortReference" />
    <link role="extends" targetNodeId="2v.1133920641626" resolveInfo="BaseConcept" />
    <node role="linkDeclaration" type="jetbrains.mps.lang.structure.structure.LinkDeclaration" id="8577380457326839332">
      <property name="metaClass" value="reference" />
      <property name="role" value="port" />
      <property name="sourceCardinality" value="1" />
      <link role="target" targetNodeId="2602392581782193610" resolveInfo="GVPort" />
    </node>
  </node>
  <node type="jetbrains.mps.lang.structure.structure.InterfaceConceptDeclaration" id="8577380457328886011">
    <property name="package" value="graph" />
    <property name="name" value="GVGraphStatementBlock" />
    <node role="linkDeclaration" type="jetbrains.mps.lang.structure.structure.LinkDeclaration" id="8577380457328886014">
      <property name="metaClass" value="aggregation" />
      <property name="role" value="graphStatements" />
      <property name="sourceCardinality" value="1..n" />
      <link role="target" targetNodeId="4683729127882709400" resolveInfo="GVGraphStatement" />
    </node>
    <node role="extends" type="jetbrains.mps.lang.structure.structure.InterfaceConceptReference" id="8577380457328886012">
      <link role="intfc" targetNodeId="4683729127882709400" resolveInfo="GVGraphStatement" />
    </node>
  </node>
  <node type="jetbrains.mps.lang.structure.structure.InterfaceConceptDeclaration" id="8577380457330095555">
    <property name="name" value="GVStylable" />
    <property name="package" value="style" />
    <node role="conceptPropertyDeclaration" type="jetbrains.mps.lang.structure.structure.BooleanConceptPropertyDeclaration" id="8577380457331675601">
      <property name="name" value="nodesStylable" />
    </node>
    <node role="conceptPropertyDeclaration" type="jetbrains.mps.lang.structure.structure.BooleanConceptPropertyDeclaration" id="8577380457331675602">
      <property name="name" value="edgesStylable" />
    </node>
    <node role="conceptPropertyDeclaration" type="jetbrains.mps.lang.structure.structure.BooleanConceptPropertyDeclaration" id="8577380457331675603">
      <property name="name" value="rootGraphStylable" />
    </node>
    <node role="conceptPropertyDeclaration" type="jetbrains.mps.lang.structure.structure.BooleanConceptPropertyDeclaration" id="8577380457331675604">
      <property name="name" value="subgraphStylable" />
    </node>
    <node role="conceptPropertyDeclaration" type="jetbrains.mps.lang.structure.structure.BooleanConceptPropertyDeclaration" id="8577380457331675605">
      <property name="name" value="clusterSubgraphStylable" />
    </node>
    <node role="propertyDeclaration" type="jetbrains.mps.lang.structure.structure.PropertyDeclaration" id="8577380457330095556">
      <property name="name" value="inherit" />
      <link role="dataType" targetNodeId="2v.1082983657063" resolveInfo="boolean" />
    </node>
  </node>
  <node type="jetbrains.mps.lang.structure.structure.EnumerationDataTypeDeclaration" id="8577380457330095601">
    <property name="name" value="graph_component" />
    <link role="memberDataType" targetNodeId="2v.1082983041843" resolveInfo="string" />
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="8577380457330095602">
      <property name="externalValue" value="node" />
      <property name="internalValue" value="node" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="8577380457330095603">
      <property name="externalValue" value="edge" />
      <property name="internalValue" value="edge" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="8577380457330095604">
      <property name="internalValue" value="rootGraph" />
      <property name="externalValue" value="root graph" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="8577380457330095605">
      <property name="internalValue" value="subgraph" />
      <property name="externalValue" value="subgraph" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="8577380457330095606">
      <property name="externalValue" value="clusterSubgraph" />
      <property name="internalValue" value="clusterSubgraph" />
    </node>
  </node>
  <node type="jetbrains.mps.lang.structure.structure.EnumerationDataTypeDeclaration" id="8577380457330308894">
    <property name="package" value="style.shape" />
    <property name="name" value="arrow_shape" />
    <link role="memberDataType" targetNodeId="2v.1082983041843" resolveInfo="string" />
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="8577380457330308895">
      <property name="internalValue" value="box" />
      <property name="externalValue" value="box filled" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="8577380457330308896">
      <property name="internalValue" value="lbox" />
      <property name="externalValue" value="box filled left half" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="8577380457330308897">
      <property name="internalValue" value="rbox" />
      <property name="externalValue" value="box filled right half" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="8577380457330308898">
      <property name="internalValue" value="obox" />
      <property name="externalValue" value="box unfilled" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="8577380457330308899">
      <property name="externalValue" value="box unfilled left half" />
      <property name="internalValue" value="olbox" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="8577380457330308900">
      <property name="externalValue" value="box unfilled right half" />
      <property name="internalValue" value="orbox" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="8577380457330528389">
      <property name="externalValue" value="crow" />
      <property name="internalValue" value="crow" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="8577380457330528390">
      <property name="externalValue" value="crow left half" />
      <property name="internalValue" value="lcrow" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="8577380457330528391">
      <property name="externalValue" value="crow right half" />
      <property name="internalValue" value="rcrow" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="8577380457330528392">
      <property name="externalValue" value="diamond filled" />
      <property name="internalValue" value="diamond" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="8577380457330528393">
      <property name="externalValue" value="diamond filled left half" />
      <property name="internalValue" value="ldiamond" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="8577380457330528394">
      <property name="internalValue" value="rdiamond" />
      <property name="externalValue" value="diamond filled right half" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="8577380457330528395">
      <property name="internalValue" value="odiamond" />
      <property name="externalValue" value="diamond unfilled" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="8577380457330528396">
      <property name="externalValue" value="diamond unfilled left half" />
      <property name="internalValue" value="oldiamond" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="8577380457330528397">
      <property name="externalValue" value="diamond unfilled right half" />
      <property name="internalValue" value="ordiamond" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="8577380457330528398">
      <property name="externalValue" value="dot filled" />
      <property name="internalValue" value="dot" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="8577380457330528399">
      <property name="externalValue" value="dot unfilled" />
      <property name="internalValue" value="odot" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="8577380457330528400">
      <property name="internalValue" value="inv" />
      <property name="externalValue" value="triangle inverse filled" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="8577380457330528407">
      <property name="externalValue" value="triangle inverse filled left half" />
      <property name="internalValue" value="linv" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="8577380457330528408">
      <property name="externalValue" value="triangle inverse filled right half" />
      <property name="internalValue" value="rinv" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="8577380457330528409">
      <property name="externalValue" value="triangle inverse unfilled" />
      <property name="internalValue" value="oinv" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="8577380457330528410">
      <property name="externalValue" value="triangle inverse unfilled left half" />
      <property name="internalValue" value="olinv" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="8577380457330528411">
      <property name="externalValue" value="triangle inverse unfilled right half" />
      <property name="internalValue" value="orinv" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="8577380457330528401">
      <property name="internalValue" value="normal" />
      <property name="externalValue" value="triangle filled" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="8577380457330528402">
      <property name="externalValue" value="triangle filled left half" />
      <property name="internalValue" value="lnormal" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="8577380457330528403">
      <property name="externalValue" value="triangle filled right half" />
      <property name="internalValue" value="rnormal" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="8577380457330528404">
      <property name="externalValue" value="triangle unfilled" />
      <property name="internalValue" value="onormal" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="8577380457330528405">
      <property name="externalValue" value="triangle unfilled left half" />
      <property name="internalValue" value="olnormal" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="8577380457330528406">
      <property name="externalValue" value="triangle unfilled right half" />
      <property name="internalValue" value="ornormal" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="8577380457330528412">
      <property name="internalValue" value="none" />
      <property name="externalValue" value="_none_" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="8577380457330528413">
      <property name="internalValue" value="tee" />
      <property name="externalValue" value="tee" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="8577380457330528414">
      <property name="internalValue" value="ltee" />
      <property name="externalValue" value="tee left half" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="8577380457330528415">
      <property name="externalValue" value="tee right half" />
      <property name="internalValue" value="rtee" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="8577380457330528416">
      <property name="internalValue" value="vee" />
      <property name="externalValue" value="vee" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="8577380457330528417">
      <property name="externalValue" value="vee left half" />
      <property name="internalValue" value="lvee" />
    </node>
    <node role="member" type="jetbrains.mps.lang.structure.structure.EnumerationMemberDeclaration" id="8577380457330528418">
      <property name="externalValue" value="vee right half" />
      <property name="internalValue" value="rvee" />
    </node>
  </node>
  <node type="jetbrains.mps.lang.structure.structure.InterfaceConceptDeclaration" id="8577380457330308903">
    <property name="package" value="style.shape" />
    <property name="name" value="GVArrowShapeStatement" />
    <node role="extends" type="jetbrains.mps.lang.structure.structure.InterfaceConceptReference" id="8577380457330308904">
      <link role="intfc" targetNodeId="4683729127882709401" resolveInfo="GVStyleStatement" />
    </node>
    <node role="propertyDeclaration" type="jetbrains.mps.lang.structure.structure.PropertyDeclaration" id="8577380457330308907">
      <property name="name" value="firstShape" />
      <link role="dataType" targetNodeId="8577380457330308894" resolveInfo="arrow_shape" />
    </node>
    <node role="propertyDeclaration" type="jetbrains.mps.lang.structure.structure.PropertyDeclaration" id="8577380457330308909">
      <property name="name" value="secondShape" />
      <link role="dataType" targetNodeId="8577380457330308894" resolveInfo="arrow_shape" />
    </node>
    <node role="propertyDeclaration" type="jetbrains.mps.lang.structure.structure.PropertyDeclaration" id="8577380457330308910">
      <property name="name" value="thirdShape" />
      <link role="dataType" targetNodeId="8577380457330308894" resolveInfo="arrow_shape" />
    </node>
    <node role="propertyDeclaration" type="jetbrains.mps.lang.structure.structure.PropertyDeclaration" id="8577380457330308911">
      <property name="name" value="fourthShape" />
      <link role="dataType" targetNodeId="8577380457330308894" resolveInfo="arrow_shape" />
    </node>
  </node>
  <node type="jetbrains.mps.lang.structure.structure.ConceptDeclaration" id="8577380457330308912">
    <property name="package" value="style.shape" />
    <property name="name" value="GVArrowHeadShapeStatement" />
    <link role="extends" targetNodeId="2v.1133920641626" resolveInfo="BaseConcept" />
    <node role="conceptProperty" type="jetbrains.mps.lang.structure.structure.StringConceptProperty" id="8577380457330308915">
      <property name="value" value="arrowhead" />
      <link role="conceptPropertyDeclaration" targetNodeId="2v.1137473891462" resolveInfo="alias" />
    </node>
    <node role="conceptProperty" type="jetbrains.mps.lang.structure.structure.BooleanConceptProperty" id="8577380457330528527">
      <link role="conceptPropertyDeclaration" targetNodeId="4768206649134501343" resolveInfo="usedForEdges" />
    </node>
    <node role="implements" type="jetbrains.mps.lang.structure.structure.InterfaceConceptReference" id="8577380457330308913">
      <link role="intfc" targetNodeId="8577380457330308903" resolveInfo="GVArrowShapeStatement" />
    </node>
  </node>
  <node type="jetbrains.mps.lang.structure.structure.ConceptDeclaration" id="8577380457330308918">
    <property name="package" value="style.shape" />
    <property name="name" value="GVArrowTailShapeStatement" />
    <link role="extends" targetNodeId="2v.1133920641626" resolveInfo="BaseConcept" />
    <node role="conceptProperty" type="jetbrains.mps.lang.structure.structure.StringConceptProperty" id="8577380457330308921">
      <property name="value" value="arrowtail" />
      <link role="conceptPropertyDeclaration" targetNodeId="2v.1137473891462" resolveInfo="alias" />
    </node>
    <node role="conceptProperty" type="jetbrains.mps.lang.structure.structure.BooleanConceptProperty" id="8577380457330528529">
      <link role="conceptPropertyDeclaration" targetNodeId="4768206649134501343" resolveInfo="usedForEdges" />
    </node>
    <node role="implements" type="jetbrains.mps.lang.structure.structure.InterfaceConceptReference" id="8577380457330308919">
      <link role="intfc" targetNodeId="8577380457330308903" resolveInfo="GVArrowShapeStatement" />
    </node>
  </node>
</model>

